1. Field of the Invention
The present invention relates to a transformation technique of the document structure of a structured document such as an XML document or the like.
2. Description of the Related Art
Along with the popularization of electric appliances in recent years, a single user often possesses a plurality of different terminals such as a desktop personal computer, notebook personal computer, PDA (Personal Digital Assistant), portable phone, and the like. Various kinds of information to be processed by these terminals contain many closely related data, and an address book is a typical example of such data.
Address book information managed by these terminals normally includes the last names, first names, addresses, telephone numbers, e-mail addresses, and the like. These pieces of information must indicate the same contents even if the terminals use different data formats. When a certain person registered in an address book has moved, and has changed his or her telephone number, it must be possible to browse a new telephone number independently of the type of terminal (desktop personal computer, notebook personal computer, PDA, or portable phone) used upon browsing information of that person. If the address book is absolutely independently managed by the desktop personal computer, notebook personal computer, PDA, and portable phone, when registered personal information has changed, information must be updated for each terminal. Hence, management becomes more complicated with increasing number of terminals, and it becomes difficult to maintain consistency of information.
To solve this problem, various systems, in which a server computer intensively and simultaneously manages various kinds of information, which are independently managed by a plurality of different terminals (e.g., desktop personal computer, notebook personal computer, PDA, portable phone, and the like), and information is read out from the server computer to each terminal when it is used, have been proposed.
A merit obtained upon introducing such system is to relatively easily maintain consistency of information since various kinds of information are simultaneously managed on the server computer. If address book information is simultaneously managed by the server computer, even when personal information has changed, the user can acquire consistent, latest information without updating information for respective terminals by reading out the address book information from the server computer at each individual terminal, as long as only information on the server computer is updated (via the terminal).
Data which is intensively stored in the server computer is obtained by organizing those used at a plurality of terminals. In general, data used by all types of terminals rarely conforms with an identical data format, and all of data used at all types of terminals are rarely identical. For example, a portable phone and PDA use different data formats of address book information. Furthermore, the portable phone uses only name and telephone number data in the address book information, while the PDA also uses address and e-mail address data in addition to the name and telephone number data.
Hence, in order to read out information stored in the server computer and to use readout information at a terminal, information must be transformed into a format and contents suitable for each terminal.
In this manner, in a system in which a server computer simultaneously manages various kinds of information used at a plurality of terminals, and information is read out from the server computer to each terminal when it is used, terminals that the user can use are limited to specific devices, and transformation programs specialized for respective devices are used to transform information stored in the server computer into a format that a terminal can use, or to transform information stored in a terminal into a format that the server computer can store. With this method, a new program must be created every time a new terminal is added, resulting in complicated maintenance of the system.
In case of a structured document expressed by an XML document format, transformation using a stylesheet based on XSL (Extensible Stylesheet Language) is prevalently used to transform the document structure of such structured document (XSLT).
If structured documents are selected as targets in the aforementioned system in which the server computer simultaneously manages various kinds of information used at a plurality of terminals, and information is read out from the server computer to each terminal when it is used, a mechanism for transforming an XML document to obtain another structured document by creating only a new transformation rule in place of a new program can be provided, if XSLT is used. However, XSLT is suitable for transforming an XML document to obtain another structured document, but it requires a complicated transformation rule. Also, it is very difficult to make backward transformation from a new structured document obtained using rules used in transformation into an XML document that conform with the document structure of an XML document before transformation.
In this way, when document information simultaneously managed by a server of a server-client system is read out from various terminals when it is used, the server manages document information using one format. Upon using the document information on the client side, the formats (document structures) of the document information differ depending on terminals. In such case, in order to bidirectionally transform document information between a document format (document structure) compatible to the server side and those compatible to respective clients using transformation programs and the like, a new transformation program must be created every time a terminal is added as a new client. Since such transformation program must be created, the types of terminals that can be used are limited. Hence, maintenance upon adding a terminal as a client is not easy.
When structured documents described in XML or the like are selected as objects to be processed, transformations from a document structure compatible to the server to those compatible to respective clients can be made using XSLT, but backward transformation is not available.